package com.mori.encrypt.spring.boot.core.algorithm;

/**
 * <p> 加密解密算法接口  </p>
 *
 * @author mori
 * @since 2020/9/30 9:10
 */
public interface EncryptAlgorithm {

	/**
	 * 加密返回数据
	 * @param content 加密内容
	 * @param encryptKey 加密Key
	 * @return 加密内容
	 * @throws Exception 加密失败
	 */
	String encrypt(String content, String encryptKey) throws Exception;

	/**
	 * 单个参数解密
	 * @param encryptStr 解密字符串
	 * @param decryptKey 解密Key
	 * @return 解密内容
	 * @throws Exception 解密失败
	 */
	String decrypt(String encryptStr, String decryptKey) throws Exception;

	/**
	 * 解密请求体
	 * @param requestBody
	 * @param decryptKey
	 * @return
	 * @throws Exception
	 */
	String decryptRequestBody(String requestBody, String decryptKey) throws Exception;

}
